#ifndef XNAMESPACE_H
#define XNAMESPACE_H

#include <QXmppPresence.h>

#include "xglobal.h"

X_BEGIN_NAMESPACE

Q_NAMESPACE

/**
 * @brief 用户在线状态枚举，仅对XMPP的状态做包装，给QML使用。
 */
enum class AvailableStatus{
    Online = QXmppPresence::Online,             ///< The entity or resource is online.
    Away = QXmppPresence::Away,                 ///< The entity or resource is temporarily away.
    XA = QXmppPresence::XA,                     ///< The entity or resource is away for an extended period.
    DND = QXmppPresence::DND,                   ///< The entity or resource is busy ("Do Not Disturb").
    Chat = QXmppPresence::Chat,                 ///< The entity or resource is actively interested in chatting.
    Invisible = QXmppPresence::Invisible,       ///< obsolete XEP-0018: Invisible Presence
    OffLine = 99
};
Q_ENUM_NS(AvailableStatus)

/**
 * @brief 消息内容类型
 */
enum class MessageContentType{
    Text = 0,
    Image,
    Audio,
    Video,
    VCard,
    None = 99
};
Q_ENUM_NS(MessageContentType)

/**
 * @brief 会话类型
 */
enum class SessionType{
    P2P = 0,
    Group = 1,
    Discussion = 2,
    System = 3
};
Q_ENUM_NS(SessionType)

/**
 * @brief 会话对象类型。
 */
enum class SessionTargetType{
    CONTACT = 0,
    Group,
    MUC
};
Q_ENUM_NS(SessionTargetType)

/**
 * @brief 头像照片类型
 */
enum class PhotoType {
    Unknown = 0,
    Png = 1,
    JPEG = 2
};

X_END_NAMESPACE

#endif // XNAMESPACE_H
